package gestion.horarios.model.jpa.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the plancurricular database table.
 * 
 */
@Entity
@Table(name="plancurricular")
public class PlanCurricular implements Serializable {
	private static final long serialVersionUID = 1L;
	private int planCurricularId;
	private String codigo;
	private String estado;
	private String numero;
	private String version;
	private List<DetallePlanCurricular> detalleplancurriculars;
	private PlanCurricular plancurricular;
	private List<PlanCurricular> plancurriculars;
	private MallaCurricular mallacurricular;
	private List<SolicitudCambioPlanCurricular> solicitudcambioplancurriculars;
	private List<VigenciaPlanCurricular> vigenciaplancurriculars;

    public PlanCurricular() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(unique=true, nullable=false)
	public int getPlanCurricularId() {
		return this.planCurricularId;
	}

	public void setPlanCurricularId(int planCurricularId) {
		this.planCurricularId = planCurricularId;
	}


	@Column(length=45)
	public String getCodigo() {
		return this.codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}


	@Column(length=45)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


	@Column(length=45)
	public String getNumero() {
		return this.numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}


	@Column(length=45)
	public String getVersion() {
		return this.version;
	}

	public void setVersion(String version) {
		this.version = version;
	}


	//bi-directional many-to-one association to DetallePlanCurricular
	@OneToMany(mappedBy="plancurricular")
	public List<DetallePlanCurricular> getDetalleplancurriculars() {
		return this.detalleplancurriculars;
	}

	public void setDetalleplancurriculars(List<DetallePlanCurricular> detalleplancurriculars) {
		this.detalleplancurriculars = detalleplancurriculars;
	}
	

	//bi-directional many-to-one association to PlanCurricular
    @ManyToOne
	@JoinColumn(name="PlanCurricularId1", nullable=false)
	public PlanCurricular getPlancurricular() {
		return this.plancurricular;
	}

	public void setPlancurricular(PlanCurricular plancurricular) {
		this.plancurricular = plancurricular;
	}
	

	//bi-directional many-to-one association to PlanCurricular
	@OneToMany(mappedBy="plancurricular")
	public List<PlanCurricular> getPlancurriculars() {
		return this.plancurriculars;
	}

	public void setPlancurriculars(List<PlanCurricular> plancurriculars) {
		this.plancurriculars = plancurriculars;
	}
	

	//bi-directional many-to-one association to MallaCurricular
    @ManyToOne
	@JoinColumn(name="MallaCurricularId", nullable=false)
	public MallaCurricular getMallacurricular() {
		return this.mallacurricular;
	}

	public void setMallacurricular(MallaCurricular mallacurricular) {
		this.mallacurricular = mallacurricular;
	}
	

	//bi-directional many-to-one association to SolicitudCambioPlanCurricular
	@OneToMany(mappedBy="plancurricular")
	public List<SolicitudCambioPlanCurricular> getSolicitudcambioplancurriculars() {
		return this.solicitudcambioplancurriculars;
	}

	public void setSolicitudcambioplancurriculars(List<SolicitudCambioPlanCurricular> solicitudcambioplancurriculars) {
		this.solicitudcambioplancurriculars = solicitudcambioplancurriculars;
	}
	

	//bi-directional many-to-one association to VigenciaPlanCurricular
	@OneToMany(mappedBy="plancurricular")
	public List<VigenciaPlanCurricular> getVigenciaplancurriculars() {
		return this.vigenciaplancurriculars;
	}

	public void setVigenciaplancurriculars(List<VigenciaPlanCurricular> vigenciaplancurriculars) {
		this.vigenciaplancurriculars = vigenciaplancurriculars;
	}
	
}